// 导入模块 fs path
const fs = require('fs')
const path = require('path')
// const { resolve } = require('path/posix')


// 定义正则表达式，分别匹配<style></style> 和 <script></script>
const repStyle = /<style>[\s\S]*<\/style>/
const repScript = /<script>[\s\S]*<\/script>/

fs.readFile(path.join(__dirname, './clock/index.html'), "utf8", function(err, data) {
  if(err) {
    return console.log("读取失败", err.message)
  }
  // console.log(data.toString())

  // 读取文件成功后，调用对应的三个方法，分别拆解出css js html
  resolveCSS(data.toString());
  resolveJs(data.toString());
  resplveHtml(data.toString());
})

// 定义处理css部分的函数
function resolveCSS(data) {
  var str = repStyle.exec(data);
  // 字符串替换
  var newstr = str[0].replace('<style>', '').replace("</style>", '')
  // console.log(newstr);
  // 调用 fs.writeFile() 方法，将样式写入文件
  fs.writeFile(path.join(__dirname, './clock/index.css'), newstr, function(err) {
    if(err) {
      return console.log("写入失败!", err.message)
    }
    console.log("CSS写入成功!!!")
  })
}

// 定义处理js部分的函数
function resolveJs(data) {
  var str = repScript.exec(data);
  var newstr = str[0].replace('<script>', '').replace('</script>', '')
  fs.writeFile(path.join(__dirname, './clock/index.js'), newstr, function(err){
    if(err) {
      return console.log('js写入失败!!', err.message)
    }
    console.log("JS写入成功!!!")
  })
}

// 处理 html 文件
function resplveHtml(data) {
  var str = data.replace(repStyle, '<link rel="stylesheet" href="./index.css">').replace(repScript, '<script src="./index.js"></script>');
  // console.log(str);
  fs.writeFile(path.join(__dirname, './clock/newindex.html'), str, function(err) {
    if(err) return console.log('html文件写入失败!!', err.message);
    console.log("html文件写入成功!!!");
  })
}









